Digital communications systems utilize communication channels over which data is transmitted. The communications channels typically have limited bandwidth and finite channel capacity. The channel capacity together with other properties of the channel, such as various forms of noise and interference, will, with statistical certainty, cause or otherwise result in the injection of error conditions in the traffic data communicated over the channel.
A technique for eliminating, or at least reducing, the effect of error conditions is called Forward Error Correction (FEC). In general, the employment of an FEC technique entails transmitting error detection data and error correction data along with the bearer data. The error detection and correction data are typically derived from the bearer data itself by employing an error detection algorithm and error correction algorithm known to the receiver as well as the transmitter.
Unfortunately, the transmission bandwidth available to a user transmitting in a particular time slot in known systems is reduced by the overhead required to transmit the error correction data. To further complicate the error correction process, the transmission bit rate is not fixed, but depends on dynamically varying conditions, such as the relative distance between a remote station and a central station, interference, environmental conditions, data transmission rate, and other conditions too numerous to mention herein.
As a result, the bit error rate of data transmitted between a central station and a remote station varies with each remote station and with time with respect to each remote station, making it difficult to systematically select an FEC error correction algorithm that optimizes both the transmission overhead and error protection capability. In the prior art, the error correction algorithm is typically selected based on a worst-case bit error rate, and is therefore overly robust for most situations, resulting in inefficient use of valuable bandwidth.
There is a need for error correction that can be optimized based on varying conditions, such as weather, the value of the content being transmitted, and local conditions for individual spot beams in a satellite broadcast.